package com.ssy.lingxi.platform.template.service.model.vo.web;

import com.ssy.lingxi.search.api.model.response.BrandResponse;
import com.ssy.lingxi.search.api.model.response.CategoryResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * web - 会员店铺门户 - 店铺门户包含商品列表（装修） - VO
 * @author fhj
 * @date 2021/08/27
 * @version 2.0.0
 */
@Data
public class MemberShopInGoodsListAdornVO {

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "会员ID")
    private Long memberId;

    @ApiModelProperty(value = "角色ID")
    private Long roleId;

    @ApiModelProperty(value = "公司LOGO")
    private String logo;

    @ApiModelProperty(value = "店铺名称")
    private String name;

    @ApiModelProperty(value = "会员名称")
    private String memberName;

    @ApiModelProperty(value = "会员等级名称")
    private String levelTag;

    @ApiModelProperty(value = "注册年数")
    private Integer registerYears;

    @ApiModelProperty(value = "信用积分")
    private Integer creditPoint;

    @ApiModelProperty(value = "满意度")
    private Integer avgTradeCommentStar;

    @ApiModelProperty(value = "状态：0-冻结 1-正常")
    private Integer status;

    @ApiModelProperty(value = "店铺包含商品")
    private List<GoodsVO> goodsVOList = new ArrayList<>();

    @Data
    public static class GoodsVO {

        @ApiModelProperty(value = "商品id")
        private Long id;

        @ApiModelProperty(value = "商品图片")
        private String mainPic;

        @ApiModelProperty(value = "商品名称")
        private String name;

        @ApiModelProperty(value = "商品标语")
        private String slogan;

        @ApiModelProperty(value = "商品卖点")
        private String[] sellingPoint;

        @ApiModelProperty(value = "会员品类")
        private CategoryResponse customerCategory;

        @ApiModelProperty(value = "品牌")
        private BrandResponse brand;

        @ApiModelProperty(value = "计量单位")
        private String unitName;

        @ApiModelProperty(value = "产品定价：1-现货价格, 2-价格需要询价, 3-积分兑换商品")
        private Integer priceType;

        @ApiModelProperty(value = "最小值")
        private Double min;

        @ApiModelProperty(value = "最大值")
        private Double max;
    }
}
